home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
kermit.columbia.edu
/
kermit.columbia.edu.tar
/
kermit.columbia.edu
/
newsgroups
/
misc.19980901-19981211
/
000187_news@newsmaster….columbia.edu _Thu Oct 22 19:36:23 1998.msg
< prev
next >
Wrap
Internet Message Format
|
1998-12-10
|
6KB
Return-Path: <news@newsmaster.cc.columbia.edu>
Received: from newsmaster.cc.columbia.edu (newsmaster.cc.columbia.edu [128.59.35.30])
by watsun.cc.columbia.edu (8.8.5/8.8.5) with ESMTP id TAA09019
for <kermit.misc@watsun.cc.columbia.edu>; Thu, 22 Oct 1998 19:36:22 -0400 (EDT)
Received: (from news@localhost)
by newsmaster.cc.columbia.edu (8.8.5/8.8.5) id TAA27265
for kermit.misc@watsun; Thu, 22 Oct 1998 19:36:22 -0400 (EDT)
Path: news.columbia.edu!watsun.cc.columbia.edu!jaltman
From: jaltman@watsun.cc.columbia.edu (Jeffrey Altman)
Newsgroups: comp.protocols.kermit.misc
Subject: Re: Stop automatic resetting of terminal emulation?
Date: 22 Oct 1998 23:36:20 GMT
Organization: Columbia University
Lines: 98
Message-ID: <70ofhk$e9d$1@apakabar.cc.columbia.edu>
References: <Pine.WNT.4.05.9810220906420.169-100000@neko.dental.washington.edu> <zr359kB7TU8S@cc.usu.edu>
NNTP-Posting-Host: watsun.cc.columbia.edu
Xref: news.columbia.edu comp.protocols.kermit.misc:9383
In article <zr359kB7TU8S@cc.usu.edu>, Joe Doupnik <jrd@cc.usu.edu> wrote:
: Curious that you should bring up the topic because we had gone
: over it recently in the project. Let me indicate the two views on the matter.
: First is the IETF view. It says when the remote host asks repeatedly
: for a terminal type the client is supposed to offer new kinds in each
: response, as a negotiation process. Thus if a remote host does not understand
: or accept one kind it asks again and the two sides run down their lists.
: Spelling counts for everything here, and no two machines seem to agree
: on spelling of terminal names. The RFCs do this haggle stuff.
: The second is my view, which is the negotiation is stupid in the
: extreme. When the client responds with a terminal type that's it, there
: isn't more to the game. The remote host accepts or copes or rejects. The
: reason haggling is so stupid is there is a great deal more concerning
: terminal emulation than just the name/kind, and changing the name/kind
: upsets all other items associated with the session. Keyboard definitions,
: expectations by software at either end, and so on are most often tailored
: for specific terminal kinds, and here the IETF says it's fine to negotiate
: away that information without a word to the user. Amazing.
: The fix, if we may use that term, is to force the terminal name
: in the SET TCP TERM command so only one kind is permitted to be offered,
: period.
: Joe D.
Joe:
This case is not the same as the one that you and I talked about privately.
In your case, the terminal type name "VT320" is not recognized by the host,
a VMS system, but after the login occurs a terminal type query is sent
by the host which then recognizes the terminal type as a VT320. This lack
of host recognition of the Telnet Terminal Type negotiation is indeed
caused by a failure of the host to have the same name for the terminal
as the emulator, but because it has an alternate identification method
things still work.
Now lets take the case above. Kermit reports the terminal type name
as "SCOANSI" to the host, an SCO OpenServer Unix system. "SCOANSI" is
not recognized as a valid name in the termcap and terminfo databases
an so rejects it and asks for another name. If Kermit does not respond
with a new name and instead continues sending "SCOANSI" the result is
that the TERM environment variable is set to "SCOANSI" and all of the
applications which are dependent on termcap and terminfo entries fail
with something like:
$ emacs
emacs: Terminal type scoansi is not defined.
If that is not the actual type of terminal you have,
use the Bourne shell command `TERM=... export TERM' (C-shell:
`setenv TERM ...') to specify the correct type. It may be necessary
to do `unset TERMCAP' (C-shell: `unsetenv TERMCAP') as well.
$
This happens because unlike VMS, Unix does not attempt to perform
a VT terminal id query after the login procedure succeeds when the
terminal type in unknown.
SCO has corrected this problem is their current releases by adding
"scoansi" as an alias for "ansi" in the terminfo database. (They
still forgot to put one there in the termcap database.)
Kermit's attempt to negotiate a terminal type that SCO recognizes is the
best method to ensure that the applications started by the user will
in fact work. Even if it means that they won't be running in the
optimal environment.
The problem with the name "ANSI" as used by SCO is that there is no
such thing as an ANSI terminal. The ANSI X3.64-1979 standard (since
withdrawn and replaced by ISO 6429) is just a framework upon which
manufacturers could define their terminal command sets. It did not
specify a list of required functions, nor keyboard commands, nor
prevent multiple but incompatible implementations of the same function.
The result are implementations based on X3.64-1979 which are rather
non-interoperable. SCO should never have called its console terminal
"ANSI", just as IBM should never have called its console driver
"ANSI.SYS" which was then superceded by "NANSI.SYS"....
Since the SCO console is not the same as ANSI.SYS and not the same
as BeOS console or Linux console or Unixware console or QNX ANSI
console it should not be called "ANSI". Hence, the name "SCOANSI"
in Kermit in order to distiguish it from the previous "ANSI" terminal
type that Kermit supported which is based on "ANSI.SYS".
Kermit 95 1.1.18 will work around all of these problems. Not by
removing the negotiation of terminal types as declared by the IETF
but by enhancing its support of it by including terminal type aliases.
As it turns out VMS uses the name "DEC-VT300" instead of "VT320" to
describe the VT320 terminal type. SCO already had aliases for
"ANSI" including "ANSI-850" and "ANSI-8859". So now when "SCOANSI" is
not recognized K95 will try the other two before switching to a
different terminal emulation.
Leaving the terminal type in a mode that is not recognized by the
host does not serve anyone's best interest.
Jeffrey Altman * Sr.Software Designer * Kermit-95 for Win32 and OS/2
The Kermit Project * Columbia University
612 West 115th St #716 * New York, NY * 10025
http://www.kermit-project.org/k95.html * kermit-support@kermit-project.org